#ifndef TEXTURE_H
#define TEXTURE_H

/*
 *  @autheur : LEMOUEL Florian
 *  @date : 12.04.2013
 *  @version 1.0 : création de la classe complète
 */

#include <QtOpenGL>

/*
 * Classe représentant une texture avec sa longueur et hauteur
 * ainsi que son tableau de pixels
 */

class Texture
{
    //--------------------- Constructeurs et destructeur -------------------
public:

    //Constructeur par défault
    Texture(QString nomTexture);

    //Destructeur
    ~Texture();
    //----------------------------------------------------------------------
    //--------------------- Méthodes ---------------------------------------
public:
    //On utilise la texture
    void utiliser();

private:
    //On initialise la texture à partir de l'image du chemin
    void initialiser(QString nomTexture);
    //----------------------------------------------------------------------
    //--------------------- Accesseurs -------------------------------------
public:

    //Accesseur sur la longueur
    GLfloat getLongueur();

    //Accesseur sur la hauteur
    GLfloat getHauteur();

    //Accesseur sur le nom de la texture
    QString getNomTexture();

    //Accesseur sur l'id de la texture
    GLuint getId();

    //----------------------------------------------------------------------
    //--------------------- Surcharge des opérateurs -----------------------

    //----------------------------------------------------------------------
    //--------------------- Attributs --------------------------------------
private:

    //Longueur de la texture
    GLfloat _longueur;

    //Hauteur de la texture
    GLfloat _hauteur;

    //Id de l atexture générée
    GLuint _id;

    //Nom de la texture
    QString _nom;
    //----------------------------------------------------------------------
};

#endif // TEXTURE_H
